const util = require("../../utils/util");
import Toast from '@vant/weapp/toast/toast';
// pages/my/my.js
Page({
  data: {
    isLogin:false,
    Register: false,  //注册选项
    avatarUrl: '/images/default-avatar.png',
    nickName: '微信用户',
    phone:null,
    username:null,
    password:null,
    major:null,
    sex:null
  }, 
  // 切换注册/登录状态
  toggleType() {
    this.setData({
      Register: !this.data.Register
    })
  },

  toRegister(e) {
    const { username, password, confirmPassword } = e.detail.value;
    const that = this;
  
    // 同步表单验证
    if (!that.validRegister(username, password, confirmPassword)) {
      return;
    }
  
    // 先检查用户名是否存在
    wx.request({
      url: `http://127.0.0.1:3527/users/find/${username}`,
      method: 'GET',
      success: (res) => {
        if (res.data.code === 200) {
          util.showErrorToast('该用户名已被注册');
          return;
        }
        // 用户名可用时发起注册
        wx.request({
          url: 'http://127.0.0.1:3527/users/register',
          method: 'POST',
          data: { username, password },
          success: (res) => {
            if (res.data.code === 201) {
              util.showSuccessToast('注册成功'); // 修正拼写
            } else {
              util.showErrorToast(res.data.msg || '注册失败');
            }
          },
          fail: (err) => {
            util.showErrorToast('网络请求失败');
          }
        });
      },
      fail: (err) => {
        util.showErrorToast('用户名检查失败');
      }
    });
  },

  // toRegister(e){
  //   const formData = e.detail.value;
  //   const { username, password, confirmPassword } = formData;
  //   // 表单验证
  //   let flag = true;
  //   let that = this;
  //   if (!that.validRegister(username, password, confirmPassword)) {
  //     util.showErrorToast('输入不完整');
  //     flag = false;
  //   };
    
  //   if (flag){
  //     wx.request({
  //       url: 'http://127.0.0.1:3527/users/find/'+username,
  //       method:'GET',
  //       success(res){
  //         if (res.data.code === 200) {
  //           util.showErrorToast('该用户名已被注册');  
  //           console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
  //           flag = false;
  //         }
  //       }
  //     })
  //   }

  //   if (flag){
  //     console.log("$%^&*()(%&*^&(*===============")
  //     wx.request({
  //       url: `http://127.0.0.1:3527/users/register`,
  //       method: 'POST',
  //       data: {"username":username,"password": password },
  //       success: (res) => {
  //         if (res.data.code === 201) {
  //           util.showSuccessToast('注册成功');
  //         } else {
  //           util.showErrorToast('注册失败');
  //         };
  //       }
  //     })
  //   }
  // },

  onClickLeft(event){
    wx.switchTab({
      url: '/pages/me/me',
    })
  },

  toLogin(e){
    const formData = e.detail.value;
    const { username, password} = formData;
    // 表单验证
    if (!this.validLogin(username, password)) {return;};
    wx.request({
      url: `http://127.0.0.1:3527/users/login`,
      method: 'POST',
      data: {"username":username,"password": password },
      success: (res) => {
        if (res.data.code === 200) {
          util.showSuccessToast('登录成功');
          console.log(res);
          console.log(`用户名：${res.data.data[0].username}`);
          try {
            wx.setStorageSync('uid', res.data.data[0].user_id)
            wx.setStorageSync('username', res.data.data[0].username);
            wx.setStorageSync('followers', res.data.data[0].followers);
            wx.setStorageSync('follow', res.data.data[0].follow);
            wx.setStorageSync('grade', res.data.data[0].grade);
            wx.setStorageSync('nickname', res.data.data[0].nickname);
            wx.setStorageSync('student_id', res.data.data[0].student_id);
            wx.setStorageSync('major', res.data.data[0].major);
            wx.setStorageSync('avatar', res.data.data[0].avatar);
            wx.setStorageSync('sex', res.data.data[0].sex);
            wx.setStorageSync('category', res.data.data[0].category);
            wx.setStorageSync('isLogin', true);
            wx.navigateBack({
              url: '/pages/me/me',
              success: (res) => console.log('跳转成功',res),
              fail: (err) => console.error('跳转登录页失败', err)
            })
          } catch (e) {
            console.log("存储失败");
           }
        }else {
          util.showErrorToast('用户名或密码错误')
        };
      }
    })
  },

  validLogin(username, password) {
    // 获取 Toast 实例
    // 1. 检查必填字段
    if (!username || !password) {
      util.showErrorToast('请填写完整信息')
      return false;
    }
  
    // 2. 检查密码长度
    if (password.length < 6 || password.length > 12) {
      util.showErrorToast("密码需6-12位")
      return false;
    }
    return true;
  },


  // 表单提交
  formSubmit(e) {
    const formData = e.detail.value
    const { phone, password, confirmPassword } = formData

    // 表单验证
    if (!this.validateForm(phone, password, confirmPassword)) return

    // 调用登录/注册接口
    const url = this.data.Register ? 'register' : 'login'
    wx.request({
      url: `https://yourdomain.com/api/${url}`,
      method: 'POST',
      data: { phone, password },
      success: (res) => {
        if (res.data.code === 200) {
          this.handleLoginSuccess(res.data.data)
        } else {
          wx.showToast({
            title: res.data.message,
            icon: 'loading'

          })
        }
      }
    })
  },
  
  validRegister(username, password, confirmPassword) {
    // 获取 Toast 实例
    // const Toast = this.selectComponent('#van-toast');
    
    // 1. 检查必填字段
    if (!username || !password || !confirmPassword) {
      console.log("FFFFFFFFFFFFFFFFFFFFFFFFFF");
      util.showErrorToast('输入不完整');
      return false;
    }
  
    // 2. 检查密码长度
    if (password.length < 6 || password.length > 12) {
      util.showErrorToast("密码需6-12位")
      return false;
    }
  
    // 3. 检查密码一致性
    if (password !== confirmPassword) {
      util.showErrorToast('两次密码不一致')
      return false;
    }
  
    return true;
  },
  
  // handleLoginSuccess(userData) {
  //   wx.setStorageSync('token', userData.token)
  //   this.setData({
  //     Login: true,
  //     phone: userData.phone,
  //     nickName: userData.nickName || '微信用户',
  //     avatarUrl: userData.avatarUrl || '/images/default-avatar.png'
  //   })
  // },

  // 退出登录
  logout() {
    wx.removeStorageSync('token')
    this.setData({
      Login: false,
      Register: true
    })
  }
})